package com.zhengbing.tj.common;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * 角色验证注解
 * 用于标记需要进行角色验证的方法
 *
 * @author zhengbing
 * @date 2024-08-22
 */
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
public @interface RequiresRole {
    
    /**
     * 角色标识，支持多个角色，满足任一角色即可访问
     */
    String[] value();
    
    /**
     * 是否需要所有角色，默认为false
     * true: 需要满足所有角色
     * false: 满足任一角色即可
     */
    boolean requireAll() default false;
}